/**
 * 
 */
package com.gjintel.business.proj.service;

import java.util.List;

import com.gjintel.auction.business.model.AuctionInfo;
import com.gjintel.business.proj.model.ProjectInfo;
import com.gjintel.framework.log.model.TSysWarningLog;
import com.gjintel.framework.role.model.Role;

/**信息发布及消息发布流程
 * @author ruixman:42955428
 *
 */
public interface INotifyService {
	
	//1、提醒审核人，项目待审核
	public void saveWaitAuditNotify(ProjectInfo pi);

	//2、提醒采购人，项目审核不通过提醒
	public void saveNoAuditNotify(ProjectInfo pi);
	
	//3、提醒采购人，项目审核通过提醒
	public void saveAuditNotify(ProjectInfo pi);
		
	//4、提醒分配人，项目待分配
	public void saveWaitAssignNotify(ProjectInfo pi);
	
	//5、提醒项目负责人，有一个项目已分配待编制竞价文件
	public void saveAssignNotify(ProjectInfo pi);
	
	//6、提醒采购人，有一个项目竞价文件待确认
	public void saveWaitEstablishNotify(ProjectInfo pi);
	
	//7、提醒项目负责人，有一个项目竞价文件确认不通过
	public void saveNoEstablishNotify(ProjectInfo pi);
	
	//8、提醒项目负责人，有一个项目超时未确认
	public void saveOvertimeEstablishNotify(ProjectInfo pi);
	
	//9、提醒采购人，项目负责人，竞价文件已确认，公告已发布
	public void saveEstablishNotify(ProjectInfo pi);
	
	//10、提醒采购人，项目负责人，竞价公示期暂停
	public void saveSuspendCompeleNotify(ProjectInfo pi);
	
	//11、提醒业务管理员,项目竞价公示期暂停待审核
	public void saveWaitSuspendCompeleAudtiNotify(ProjectInfo pi);
	
	//12、提醒采购人，项目负责人，竞价公告重启
	public void saveStartCompeleNotify(ProjectInfo pi);
	
	//13、提醒采购人,项目负责人，项目撤销
	public void saveCancelProjectNotify(ProjectInfo pi);
	
	//14、提醒采购人、项目负责人、本项目投标人，项目已开标
	public void saveOpenBidNotify(ProjectInfo pi);
	
	//15、提醒采购人，项目评标结束
	public void saveEndEvaluateNotify(ProjectInfo pi);
	
	//16.1、提醒采购人、项目负责人、本项目投标人，中标公示已发布
	public void saveWinBiddingNoticeNotify(ProjectInfo pi);
	
	//16.2、提醒采购人、项目负责人、本项目投标人，流标公示已发布
	public void saveFailBidNotify(ProjectInfo pi);
	
	//17、提醒采购人、项目负责人、中标人，中标公示暂停
	public void saveSuspendWinBidingNotify(ProjectInfo pi);
	
	//18、提醒业务管理员，项目中标公示期暂停待审核
	public void saveWaitSuspendWinBiddingAudtiNotify(ProjectInfo pi);
	
	//19、提醒采购人、项目负责人、中标人，中标公示重启
	public void saveStartWinBiddingNotify(ProjectInfo pi);
	
	//20、提醒采购人、项目负责人、中标人，项目流标
	public void saveFialWinBiddingNotify(ProjectInfo pi);
	
	//21、提醒采购人、中标人，中标通知书发放
	public void saveAlertNotify(ProjectInfo pi);
	
	//22、提醒非中标人，投标保证金已退
	public void saveBackNoWinBiddingBallNotify(ProjectInfo pi);
	
	// 23、提醒非中标人，投标保证金已被扣除 
	public void saveDeductedNoWinBiddingBall(ProjectInfo pi);
	
	//24、提醒采购人，中标人，合同审核通过
	public void saveContractAuditNotify(ProjectInfo pi);
	
	//25、提醒采购人，中标人，合同审核不通过
	public void saveContractNoAuditNotify(ProjectInfo pi);
	
	//26、提醒中标人，退投标保证金已退
	public void saveBackWinBiddingBailNotify(ProjectInfo pi);
	
	//27、提醒采购人，中标人，验收报告通过
	public void saveAcceptanceAudtiNotify(ProjectInfo pi);
	
	//28、提醒采购人，中标人，验收报告不通过
	public void saveAcceptanceNoAudtiNotify(ProjectInfo pi);
	
	//29、三次推送项目信息至银行生成虚拟子账号失败
	public void savePostBankFallNotify(AuctionInfo pi);
	
	//30、推送信息给角色:将信息插入数据库
	public void saveMessageByRoles(TSysWarningLog message,List<Role> roles);
	
}
